/*
	Copyright (C) 2010 Salil Bhagurkar

	This file is part of k3

	k3 is free software: you can redistribute it and/or modify
	it under the terms of the GNU Lesser General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	k3 is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Lesser General Public License for more details.

	You should have received a copy of the GNU Lesser General Public License
	along with k3.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef _ERROR_
#define _ERROR_

/*The default error type is integer (int) */

#define EPINV		-1
#define EPBOUND		-2
#define ENOSUP		-3
#define EUNK		-4
#define ESTATEINV	-5
#define ETIMEOUT	-6
/*Unknown Error at the lower level*/
#define ELLERR		-7
#define ENODETECT	-8
#define EMEMERR		-9
#define ENOREG		-10
#define ENODEV		-11
#define ENODATA		-12

#define MAX_ERR -13

#define is_error(error_variable) (error_variable<0 && error_variable>MAX_ERR)

//*Warnings!

#define WOVERWRITE (MAX_ERR - 1) //Overwriting a parameter

#endif
